VOP name prefixes and suffixes

Prefixes and suffixes are added to the base to get the names of variant versions of the VOP. The fully general VOP name looks like this:
\begin{format}
{''{\tt small-}'' \vert ''{\tt fast-}''} {\it name}{''{\tt -c}'' {\it info}}{''{\tt /}'' {\it type}{''{\tt =>}'' {\it result-type}}
\end{format}
The "small-" and "fast-" prefixes indicates that the VOP does minimal safety checking and is optimized for space or speed, respectively. The absence of a prefix indicates the safest (or only) version. Usually if the "small-" VOP exists, it will be a synonym for either the fast version or the safe version, depending on which is smaller.

The "-c" suffix indicates that the some info that is passed as a normal argument to the base version of the VOP is passed as Codegen-Info in this version. A typical use would be for VOPs where it is important to use a different version when one of the arguments is a compile time constant. info is some (possibly null) string that indicates which "-c" variant is involved.

The "/type" suffix asserts that all operands that could be of type are. For example, +/fixnum adds two fixnums returning a fixnum, while length/simple-vector finds the length of a simple vector, but the result isn't a simple vector.

The "=>result-type" suffix supplies a result type assertion on the operation.

A not totally silly example of all these modifiers simultaneously is fast-+-c/fixnum=>integer. This operation would this operation adds two fixnums, one of which is a constant passed as codegen info, resulting in an integer. The implementation is optimized for speed at the expense of space and safety.